local Module_FOTA = {}

sys = require "sys"
libfota2 = require "libfota2"

-- 升级结果的回调函数
local function fota_cb(ret)
    log.info("fota_cb", ret)
    if ret == 0 then
        -- rtos.reboot()
        log.info("fota_cb", "FOTA upgrade fialure!")
    end
end

-- 使用合宙iot平台进行升级, 支持自定义参数, 也可以不配置
local ota_opts = {
    -- 合宙IOT平台的默认升级URL, 不填就是这个默认值
    -- 如果是自建的OTA服务器, 则需要填写正确的URL, 例如 http://192.168.1.5:8000/update
    -- 如果自建OTA服务器,且url包含全部参数,不需要额外添加参数, 请在url前面添加 ###
    -- url="http://iot.openluat.com/api/site/firmware_upgrade",
    -- 请求的版本号, 合宙IOT有一套版本号体系,不传就是合宙规则, 自建服务器的话当然是自行约定版本号了
    -- version=_G.VERSION,
    -- 其他更多参数, 请查阅libfota2的文档 https://wiki.luatos.com/api/libs/libfota2.html
}
sys.taskInit(function()

    -- 等待网络就行后开始检查升级
    sys.waitUntil("net_ready",20*1000)
    sys.wait(500)

    log.info("fota", ">>>>>>>>>>>>>>>>>>>REQUEST FOR FOTA UPDATE>>>>>>>>>>>>>>>>>>")
    libfota2.request(fota_cb, ota_opts)

end)
-- 演示定时自动升级, 每隔4小时自动检查一次
sys.timerLoopStart(libfota2.request, 4*3600000, fota_cb, ota_opts)



return Module_FOTA
